/**
 * AI API Token管理工具
 */

// 本地存储中的key
const AI_TOKEN_KEY = 'ai_custom_token';

/**
 * 获取自定义的AI API Token
 * @returns {String} 用户设置的API Token，如果未设置则返回null
 */
export function getCustomAIToken() {
  const token = localStorage.getItem(AI_TOKEN_KEY);
  return token && token.trim() !== '' ? token : null;
}

/**
 * 设置自定义的AI API Token
 * @param {String} token 要保存的API Token
 */
export function setCustomAIToken(token) {
  if (token && token.trim() !== '') {
    localStorage.setItem(AI_TOKEN_KEY, token);
    return true;
  } else {
    clearCustomAIToken();
    return false;
  }
}

/**
 * 清除自定义的AI API Token
 */
export function clearCustomAIToken() {
  localStorage.removeItem(AI_TOKEN_KEY);
}

/**
 * 判断是否设置了自定义Token
 * @returns {Boolean} 是否设置了自定义Token
 */
export function hasCustomAIToken() {
  return getCustomAIToken() !== null;
}

/**
 * 为请求添加自定义Token头
 * @param {Object} config Axios请求配置
 * @returns {Object} 添加了Token的请求配置
 */
export function addCustomTokenToRequest(config) {
  // 判断是否是AI相关请求
  if (config.url && config.url.includes('/manage/ai/')) {
    const customToken = getCustomAIToken();
    if (customToken) {
      // 使用自定义Token
      if (!config.headers) {
        config.headers = {};
      }
      config.headers['X-AI-Custom-Token'] = customToken;
    }
  }
  return config;
} 